package org.dromara.system.domain.bo;

import org.dromara.system.domain.SkyRelationship;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

/**
 * 天眼查股权关系业务对象 sky_relationship
 *
 * @author Lion Li
 * @date 2024-09-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SkyRelationship.class, reverseConvertGenerate = false)
public class SkyRelationshipBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 开始节点编码
     */
    @NotBlank(message = "开始节点编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String startNode;

    /**
     * 结束节点编码
     */
    @NotBlank(message = "结束节点编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String endNode;

    /**
     * 类型
     */
    @NotBlank(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String dataType;

    /**
     * 关系名称
     */
    @NotBlank(message = "关系名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 占比
     */
    @NotBlank(message = "占比不能为空", groups = { AddGroup.class, EditGroup.class })
    private String percent;

    /**
     * 项目分包ID
     */
    @NotBlank(message = "项目分包ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long bagId;

    private Long candidateId;

    private String candidateCode;
}
